package com.opensource.component.extend.point.anntation;

import com.opensource.component.extend.point.condition.SpecificExtendConditional;
import com.opensource.component.extend.point.enums.SpecificExtendFlagEnum;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Primary;

import java.lang.annotation.*;

/**
 * @author zhanglong and since on 2022/12/13 8:01 下午
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Primary
@Conditional(SpecificExtendConditional.class)
public @interface SpecificExtend {
     /**
      * 设置扩展标识
      */
     SpecificExtendFlagEnum extendFlag();

     /**
      * 扩展的Bean的class类型，或者其子类
      */
     Class<?> extendBeanClass();

}
